package com.blockchain.nodes.manager.mapper;

import com.blockchain.nodes.manager.domain.TransactionFlow;
import com.blockchain.nodes.manager.vo.TransactionAccountVO;

import java.util.List;

import org.apache.ibatis.annotations.Param;	

/**
 * 交易流水 数据层
 * 
 * @author Gene Max
 * @date 2019-03-08
 */
public interface TransactionFlowMapper 
{
	/**
     * 查询交易流水信息
     * 
     * @param id 交易流水ID
     * @return 交易流水信息
     */
	public TransactionFlow selectTransactionFlowById(Long id);
	
	/**
     * 查询交易流水列表
     * 
     * @param transactionFlow 交易流水信息
     * @return 交易流水集合
     */
	public List<TransactionFlow> selectTransactionFlowList(TransactionFlow transactionFlow);
	
	/**
     * 新增交易流水
     * 
     * @param transactionFlow 交易流水信息
     * @return 结果
     */
	public int insertTransactionFlow(TransactionFlow transactionFlow);
	
	/**
     * 修改交易流水
     * 
     * @param transactionFlow 交易流水信息
     * @return 结果
     */
	public int updateTransactionFlow(TransactionFlow transactionFlow);
	
	/**
     * 删除交易流水
     * 
     * @param id 交易流水ID
     * @return 结果
     */
	public int deleteTransactionFlowById(Long id);
	
	/**
     * 批量删除交易流水
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deleteTransactionFlowByIds(String[] ids);
	/**
	 * 查询未确认交易
	 * @return
	 */
	public List<TransactionAccountVO> selectTransactionFlow();
	
	// 更新转账状态
    int updateTransactionStatus(@Param("status") String status, @Param("transFlowId") Long transFlowId);
	
}